﻿//===================================================================================
// Copyright (c) Ryan Garrett.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//===================================================================================

using System;

namespace Caffeine.Core.Test.TestModel
{
    public class ModelForFieldTestingB : ModelForFieldTestingA
    {
        [ModelBackingProperty(typeof(String), "StringPropertyB", ModelBase.StandardBehaviors, false)]
        protected readonly ModelProperty<String> _stringPropertyB = null;

        public ModelProperty<String> StringPropertyB
        {
            get { return _stringPropertyB; }
        }

        [ModelBackingProperty(typeof(ModelForFieldTestingB), "ChildB", ModelBase.StandardBehaviors, false)]
        protected readonly ModelProperty<ModelForFieldTestingB> _ChildB = null;

        public ModelProperty<ModelForFieldTestingB> ChildB
        {
            get { return _ChildB; }
        }

        [ModelBackingProperty(typeof(ModelForFieldTestingB), "CollectionB", ModelBase.StandardBehaviors, true)]
        protected readonly ModelCollection<ModelForFieldTestingB> _CollectionB = null;

        public ModelCollection<ModelForFieldTestingB> CollectionB
        {
            get { return _CollectionB; }
        }
    }
}
